Multi-source, multi-destination data transfers

ABSTRACT

Methods, systems, and products are disclosed for multi-source, multi-destination data transfers that include identifying a plurality of destination points having destination contexts in one or more destination objects; selecting source content for transfer; displaying destination contexts for the destination points; and directing source content to at least one destination point in dependence upon the displayed destination contexts. In typical embodiments, identifying destination points includes recording each identified destination point and storing in association with each recorded destination point a copy of a destination context for each recorded destination point.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a Continuation application of pending U.S. patentapplication Ser. No. 10/832,036 filed Apr. 26, 2004 and now abandoned.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The field of the invention is data processing, or, more specifically,methods, systems, and products for multi-source, multi-destination datatransfers.

2. Description Of Related Art

Typical computer application software and computer operating systemsprovide at least some support for copies and moves of content fromsources to destinations. In actual usage, however, the demand foraccurate, sophisticated content transfer often outstrips availablesupport. In effecting multiple transfers, for example, user are oftenrequired to laboriously identify or label blocks of source content ordestinations for transfers, and there is little support for identifyingmultiple destinations for transfers. For these reasons, there is anongoing need for improvement in the area of multi-source,multi-destination data transfers.

SUMMARY OF THE INVENTION

Methods, systems, and products are disclosed for multi-source,multi-destination data transfers that include identifying a plurality ofdestination points having destination contexts in one or moredestination objects; selecting source content for transfer; displayingdestination contexts for the destination points; and directing sourcecontent to at least one destination point in dependence upon thedisplayed destination contexts. In typical embodiments, identifyingdestination points includes recording each identified destination pointand storing in association with each recorded destination point a copyof a destination context for each recorded destination point.

Typical embodiments include inserting source content at a destinationpoint in a copy of a destination context. Typical embodiments includechecking spelling of a copied destination context that includes insertedsource content. Typical embodiments include checking grammar of a copiedextracted destination context that includes inserted source content.

In typical embodiments, directing source content to at least onedestination point in dependence upon the displayed destination contextsfurther comprises inserting source content at an identified destinationpoint in a destination object. Typical embodiments include insertingsource content at a selected destination point in a copied destinationcontext and replacing the destination context in the destination objectwith the copied destination context including the inserted sourcecontent.

Typical embodiments include mapping a plurality of selected sourcecontent to a plurality of selected destination points. Typicalembodiments include designating at least one source content fortransfer, inserting the designated source content at a selecteddestination point in a destination object, and deleting the designatedsource content from a source object.

The foregoing and other objects, features and advantages of theinvention will be apparent from the following more particulardescriptions of exemplary embodiments of the invention as illustrated inthe accompanying drawings wherein like reference numbers generallyrepresent like parts of exemplary embodiments of the invention.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 sets forth a block diagram of automated computing machineryuseful according to various embodiments of the present invention.

FIG. 2 sets forth a block diagram illustrating exemplary multi-source,multi-destination data transfers.

FIG. 3 sets forth a block diagram of an exemplary selection of sourcecontent in a source object.

FIG. 4 sets forth a line drawing illustrating an exemplary mapping of aplurality of selected source content to a plurality of selecteddestination points.

FIG. 5 sets forth a flow chart illustrating an exemplary method formulti-source, multi-destination data transfers.

DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS Introduction

The present invention is described to a large extent in thisspecification in terms of methods for multi-source, multi-destinationdata transfers. Persons skilled in the art, however, will recognize thatany computer system that includes suitable programming means foroperating in accordance with the disclosed methods also falls wellwithin the scope of the present invention. Suitable programming meansinclude any means for directing a computer system to execute the stepsof the method of the invention, including for example, systems comprisedof processing units and arithmetic-logic circuits coupled to computermemory, which systems have the capability of storing in computer memory,which computer memory includes electronic circuits configured to storedata and program instructions, programmed steps of the method of theinvention for execution by a processing unit.

The invention also may be embodied in a computer program product, suchas a diskette or other recording medium, for use with any suitable dataprocessing system. Embodiments of a computer program product may beimplemented by a computer program stored on a computer-readable storagedevice such as a magnetic storage device, an optical storage device, orother storage device. The term “computer-readable storage device” doesnot encompass a signal propagation media such as copper cable, opticalfiber or wireless transmission media. Persons skilled in the art willimmediately recognize that any computer system having suitableprogramming means will be capable of executing the steps of the methodof the invention as embodied in a program product. Persons skilled inthe art will recognize immediately that, although most of the exemplaryembodiments described in this specification are oriented to softwareinstalled and executing on computer hardware, nevertheless, alternativeembodiments implemented as firmware or as hardware are well within thescope of the present invention.

Multi-Source, Multi-Destination Data Transfers

Methods, systems, and products are disclosed for multi-source,multi-destination data transfers that operate generally by allowing auser to first identify multiple destination points in destinationobjects, then to select multiple source content, and direct the transferof information such that some destination points may received transfersof source content and other may receive copies of source content. Forexample, a user may identify destination points A, B, C, and D in adestination object such as a destination word processing document andthen select source content blocks X, Y, and Z in one or more sourceobjects. The user may then direct the transfer of source content so thatsource content block X is copied to destination point A and todestination point B, source content block Y is transferred todestination point C, and source content block Z is transferred todestination point D.

Systems according to embodiments of the present invention typicallyprovide for a subscreen image depicting a destination context of anidentified destination point stored in memory when a destination pointis identified. Thus when a paste operation is to be performed, imagesdepicting destination contexts may be displayed to aid users inremembering or deciding which source content is to be directed to whichdestination. More particularly, such systems operate generally, asdescribed in more detail below, by identifying a plurality ofdestination points having destination contexts in one or moredestination objects, selecting source content for transfer, displayingdestination contexts for the destination points, and directing sourcecontent to at least one destination point in dependence upon thedisplayed destination contexts.

Methods and systems according to embodiments of the present inventionare implemented generally upon automated computing machinery, referredto here as “computers.” For further explanation, FIG. 1 sets forth ablock diagram of automated computing machinery comprising a computer(134.) Computer (134) may be a personal computer, mainframe, laptop,minicomputer, personal digital assistant, wireless handheld device, acellular telephone, or any other form of automated computing machineryuseful as a system for multi-source, multi-destination data transferaccording to embodiments of the present invention as will occur to thoseof skill in the art. The exemplary computer (134) of FIG. 1 includes atleast one computer processor (156) or ‘CPU’ as well as random accessmemory (168) (“RAM”). Stored in RAM (168) are application programs(152). Application programs useful in accordance with variousembodiments of the present invention include browsers, word processors,spreadsheets, database management systems, email clients, and so on, aswill occur to those of skill in the art. Also stored in RAM (168) is anoperating system (154). Operating systems useful in computers accordingto embodiments of the present invention include Unix, Linux, MicrosoftNT™, and many others as will occur to those of skill in the art.Computer program instructions for multi-source, multi-destination datatransfer according to embodiments of the present invention may beimplemented at least to some extent in application software (152). It isoperating systems, however, that include many of the computer softwareinstructions that support inter-application operations, and operatingsystems will often include many of the computer program instructionsneeded for multi-source, multi-destination data transfer according toembodiments of the present invention.

The computer (134) of FIG. 1 includes computer memory (166) coupledthrough a system bus (160) to the processor (156) and to othercomponents of the computer. Computer memory (166) may be implemented asa hard disk drive (170), optical disk drive (172), electrically erasableprogrammable read-only memory space (so-called ‘EEPROM’ or ‘Flash’memory) (174), RAM drives (not shown), or as any other kind of computermemory as will occur to those of skill in the art.

The example computer (134) of FIG. 1 includes communications adapter(167) implementing couplings for data communications (184) to othercomputers (182), servers or clients. Communications adapters implementthe hardware level of connections for data communications through whichlocal hosts and remote hosts or servers send data communicationsdirectly to one another and through networks. Examples of communicationsadapters include modems for wired dial-up connections, Ethernet (IEEE802.3) adapters for wired LAN connections, and 802.11b adapters forwireless LAN connections.

The example computer of FIG. 1 includes one or more input/outputinterface adapters (178). Input/output interface adapters in computersimplement user-oriented input/output through, for example, softwaredrivers and computer hardware for controlling output to display devices(180) such as computer display screens, as well as user input from userinput devices (181) such as keyboards and mice.

FIG. 2 sets forth a block diagram illustrating exemplary multi-source,multi-destination data transfers according to embodiments of the presentinvention. In the example of FIG. 2, three destination points (104) areidentified in two destination objects (102). A destination object is anydata structure administered by any application program or operatingsystem component. Examples of destination objects include wordprocessing documents, spreadsheets, database records, web pages, emaildocuments, and so on, as will occur to those of skill in the art. Adestination point (104) is a location in a destination object (102)where source content from a source object is to be inserted as a copy ora transfer.

In the example of FIG. 2, each destination point (104) in thedestination object (102) has a destination context (106). A destinationcontext (106) is a portion of a destination object that logicallycontains a destination point (104). If, for example, a destinationobject (102) includes text surrounding a destination point, adestination context may include a sentence containing the destinationpoint, a paragraph containing the destination point, a document pagecontaining the destination point, and so on. If the destination object(102) is a graphic object such as a JPEG file, for example, adestination context may include a two dimensional range of pictureelements surrounding the destination point. Destination contexts may bedisplayed to advantageously provide users with a visual impression ofthe surroundings of a destination point thereby facilitating users'control over multi-source, multi-destination data transfers. In theexample of FIG. 2, when a user identifies a destination point, thedestination point and its associated destination context are copied(107) to a data structure in memory represented in FIG. 2 as a displaybuffer (108).

As mentioned above, systems according to embodiments of the presentinvention operate generally by selecting source content for transfer toone or more identified destination points, displaying destinationcontexts for the destination points, and directing source content to atleast one destination point in dependence upon the displayed destinationcontexts. FIG. 3 sets forth a block diagram of an exemplary selection ofsource content (212) in a source object (210). A source object (210) isany data structure administered by any application program or operatingsystem component. Examples of source objects (210) include wordprocessing documents, spreadsheets, database records, web pages, emaildocuments, and so on, as will occur to those of skill in the art. Sourcecontent (212) is any portion of the source object (210) to be insertedinto a destination object at a destination point. The source content iseither copied or transferred into the destination object at thedestination point. Source content may include selected text such as aword, sentence, or paragraph of a word processing document, a twodimensional range of picture elements from a graphic object such as JPEGfile, or any other source content as will occur to those of skill in theart.

In the example of FIG. 3, a user has selected source content (212) in asource object by, for example, clicking and dragging a mouse pointerover a portion of a graphical user interface (“GUI”) upon which isdisplayed a portion of a source object such as a word processingdocument. In the example of FIG. 3, a right mouse click (214) isdepicted as a user's instruction to a system according to an embodimentof the present invention to direct the source content to a destinationpoint. In response, the system has displayed a destination display(21621 ¹ 1) displaying destination contexts for previously identifieddestination points. In the example of FIG. 3, the user's directingselected source content (212) to a particular destination point (104) isrepresented by a left mouse click (215) on the displayed destinationcontext of the destination point.

FIG. 4 sets forth a line drawing illustrating an exemplary mapping,called a transfer map (420), of a plurality of selected source contentto a plurality of selected destination points. Transfer map (420) isimplemented as a table of three columns: a column named “Source” (422)that lists items of source content, a column named “Destination” (426)that displays images of destination contexts each of which (as explainedabove) includes a destination point from a destination object, and acolumn named “Map Entry” (424) that contains mapping entries associatingsource content with destination points and describes the mappings aseither copies or transfers.

The selected source content in the example of FIG. 4 is represented asitems A, B, C, and D. The selected source content was selected from asource object such as a word processing document or video image byhighlighting the source content on a graphical user interface with amouse-down-and-drag and the right clicking (214) the highlighted area tolist the selected content in the transfer map (420). The items of sourcecontent may be implemented as blocks of text, ranges of pictureelements, segments of memory, or otherwise as will occur to those ofskill in the art.

In the example of FIG. 4, some source content is mapped for transfer andsome for copying. Copying source content is carried out by insertingdesignated source content at selected destination points in one or moredestination objects. Transferring source content is carried out byinserting designated source content at selected destination points inone or more destination objects and deleting the designated sourcecontent from a source object. In the example of FIG. 4, source contentitem A is mapped for copying to the destination point in destinationcontext (410) and for copying to the destination point in destinationcontext (414). Source content item B is mapped for transfer to thedestination point in destination context (410) and to the destinationpoint in destination context (412), and, because it is mapped as atransfer, source content item B is to be deleted from its source object.Source content item C is mapped for copying to the destination point indestination context (416), and source content item D is mapped forcopying to the destination point in destination context (414).

Transfer map (420) may, for example, be implemented for use as a windowor dialogue box in a GUI so that a user may edit the map entries (424).Such an implementation of a transfer map may support other userfunctions such as, for example, deleting transfer map records from thetransfer map—to the extent that, for example, a user has identified adestination point whose destination context is therefore displayed inthe transfer map when the user subsequently has decided not to insertany source content at that destination point. The example of FIG. 4 alsoprovides an Apply button (418) which when invoked through a GUIoperation such as a mouse click operates to carrying out all theinsertions and deletions of source content described in map entries(424) in the transfer map (420).

Further explanation is provided with reference to FIG. 5. FIG. 5 setsforth a flow chart illustrating an exemplary method for multi-source,multi-destination data transfers that includes identifying (502) aplurality of destination points having destination contexts in one ormore destination objects. A destination object is any data structuremanipulated by software. Examples of destination objects include wordprocessing documents, spreadsheets, database records, email messages,web pages, and so on, as will occur to those of skill in the art. Thereis no limitation in this specification regarding the number ofdestination points identified in a destination object. That is, methodsand systems according to embodiments of the present invention supportuser identification of one or more destination points within anydestination object.

In the method of FIG. 5, identifying (502) destination points includesrecording (504) each identified destination point (104) and storing(505) in association with each recorded destination point (104) a copyof a destination context (106) for each recorded destination point(104). In the example of FIG. 5, destination points and destinationcontexts are stored in a buffer (108) in computer memory (318).Destination points and destination contexts may alternatively be storedin a transfer map such as the one illustrated at reference (420) on FIG.4, and may be stored otherwise as will occur to those of skill in theart.

The method of FIG. 5 also includes selecting (506) source content fortransfer, displaying (508) destination contexts for the destinationpoints, and directing (510) source content to at least one destinationpoint in dependence upon the displayed destination contexts. There is nolimitation in this specification regarding the number of destinationpoints in a single destination object to which a particular item ofsource content may be directed. That is, methods and systems accordingto embodiments of the present invention support directing of one item ofsource to content to one or more destination points in the samedestination object or in more than one destination object.

In the method of FIG. 5, directing (510) source content to at least onedestination point in dependence upon displayed destination contexts iscarried out by inserting (511) source content at an identifieddestination point in a destination object (102). Directing (510) sourcecontent to at least one destination point in dependence upon displayeddestination contexts may also be carried out by use of a transfer mapwith an Apply function as described above and in other ways as may occurto those of skill in the art.

The example of FIG. 5 includes an alternative of inserting (512) sourcecontent at a destination point (104) in a copy of a destination context(106) that may be implemented within the scope of the present inventionas an alternative or in addition to inserting source content atinsertion points in destination object. Inserting (512) source contentat a destination point (104) in a copy of a destination context (106),for example, may advantageously support checking the spelling of acopied destination context (106) that includes inserted source content(514) and checking grammar of a copied extracted destination context(106) that includes inserted source content (514). Checking spelling andgrammar of source content inserted in a destination context provides theadvantage of excluding from destination objects errors originating in asource objects and also errors originating in destination contexts—sothat errors originating in source object are not communicated todestinations and errors originating in destination objects are notperpetuated. Checking grammar of source content inserted in adestination context also provides the advantage of checking grammar ofsource content as it will lie in its new context—which may affect thecorrectness of the grammar because grammar that is correct in a sourceobject may need to be altered for correct usage in its new surroundingsin a destination object. The method of FIG. 5 also includes replacing(516) the destination context in the destination object (102) with thecopied destination context (106) including the inserted source content(514).

It will be understood from the foregoing description that modificationsand changes may be made in various embodiments of the present inventionwithout departing from its true spirit. The descriptions in thisspecification are for purposes of illustration only and are not to beconstrued in a limiting sense. The scope of the present invention islimited only by the language of the following claims.

What is claimed is:
 1. A method for transferring data, the methodcomprising: receiving, by a computer processor, a user selection ofuser-generated text within a word processing document; displaying, bythe computer processor, (a) a graphic object representing a web page,(b) a first destination point within the graphic object and first textwhich is adjacent to the first destination point and describes the firstdestination point, and (c) a second, different destination point withinthe graphic object and second, different text which is adjacent to thesecond destination point and describes the second destination point;receiving, by the computer processor, a user mouse selection of one ofthe destination points within the graphic object, and in response,copying the selected text into the web page at the selected destinationpoint; storing, by the computer processor, the first destination pointand the first text which is adjacent to the first destination point anddescribes the first destination point in a transfer map, wherein thetransfer map is a graphical user interface (GUI) that allows a user toedit or delete the first destination point or the second destinationpoint before the step of copying the selected text into the web page atthe selected destination point; storing, by the computer processor, thesecond, different destination point and the second text which isadjacent to the second destination point and describes the seconddestination point in the transfer map; and in response to receiving theuser mouse selection of the one of the destination points within thegraphic object, mapping, by the computer processor, the selected text tothe one of the destination points in the transfer map.
 2. A computerprogram product for transferring data, the computer program productcomprising: one or more computer-readable storage devices and programinstructions stored on at least one of the one or more storage devices,the program instructions comprising: first program instructions toreceive a user selection of user-generated text within a word processingdocument; second program instructions to initiate display of (a) agraphic object representing a web page, (b) a first destination pointwithin the graphic object and first text which is adjacent to the firstdestination point and describes the first destination point, and (c) asecond, different destination point within the graphic object andsecond, different text which is adjacent to the second destination pointand describes the second destination point; third program instructionsto receive a user mouse selection of one of the destination pointswithin the graphic object, and in response, copy the selected text intothe web page at the selected destination point; fourth programinstructions to store the first destination point and the first textwhich is adjacent to the first destination point and describes the firstdestination point in a transfer map, wherein the transfer map is agraphical user interface (GUI) that allows a user to edit or delete thefirst destination point or the second destination point before the stepof copying the selected text into the web page at the selecteddestination point; fifth program instructions to store the second,different destination point and the second text which is adjacent to thesecond destination point and describes the second destination point inthe transfer map; and sixth program instructions to map the selectedtext to the one of the destination points in the transfer map inresponse to receiving the user mouse selection of the one of thedestination points within the graphic object.
 3. A computer programproduct for transferring an image, the computer program productcomprising: one or more computer-readable storage devices and programinstructions stored on at least one of the one or more storage devices,the program instructions comprising: first program instructions toreceive a user selection of an image; second program instructions toinitiate display of (a) a graphic object representing a web page, (b) afirst destination point within the graphic object and first text whichis adjacent to the first destination point and describes the firstdestination point, and (c) a second, different destination point withinthe graphic object and second, different text which is adjacent to thesecond destination point and describes the second destination point;third program instructions to receive a user mouse selection of one ofthe destination points within the graphic object, and in response, copythe selected image into the web page at the selected destination point;fourth program instructions to store the first destination point and thefirst text which is adjacent to the first destination point anddescribes the first destination point in a transfer map, wherein thetransfer map is a graphical user interface (GUI) that allows a user toedit or delete the first destination point or the second destinationpoint before the step of copying the selected text into the web page atthe selected destination point; fifth program instructions to store thesecond, different destination point and the second text which isadjacent to the second destination point and describes the seconddestination point in the transfer map; and sixth program instructions tomap the selected text to the one of the destination points in thetransfer map in response to receiving the user mouse selection of theone of the destination points within the graphic object.